﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ASmile.Object
{
    public class ObjectConf
    {
        public string Name { set; get; }
        /// <summary>
        /// 程序集
        /// </summary>
        public string AssemblyName { set; get; }
        /// <summary>
        /// 类型名
        /// </summary>
        public string TypeName { set; get; }
        /// <summary>
        /// 是否单例模式
        /// </summary>
        public bool? Singleton { set; get; }
        /// <summary>
        /// 是否懒加载
        /// </summary>
        public bool? LazyInit { set; get; }
        /// <summary>
        /// 属性缺省值
        /// </summary>
        public List<ObjectConfDef> PropertyDefs { set; get; }
        /// <summary>
        /// 当非懒加载时创建的对象实例
        /// </summary>
        public object Instance { set; get; }
        /// <summary>
        /// 对象类别，如：实现了 IEventSubscribe 接口的用于全局事件订阅
        /// </summary>
        public string ObjCategory { set; get; }
    }
}
